#ifndef TILE_H_
#define TILE_H_

#include <e32base.h>

/** 地图切图的宽度 */
#define TILE_DEFAULT_WIDTH		160
	
/** 地图切图的高度*/
#define TILE_DEFAULT_HEIGHT		160

class Tile
	{
public:
	typedef enum tagTileSourceType
		{
		/** 空切图数据, */
		ESourceTypeNull
		
		/** 默认的切图数据 */
		, ESourceTypeDefault
		
		/** 错误的切图数据 */
		, ESourceTypeError
		
		/** 图像数据 */
		, ESourceTypeImage
		} TTileSourceType;

public:
	/** 切图的缩放级别 */
	TInt 	zoom;
	TInt 	x;
	TInt 	y;
	TInt 	cx;
	TInt 	cy;
	
	/**
	 * 切图数据, 如果是byte[]类型的, 刚是图片数组, 否则是其它自定义的格式
	 */
	TAny*	src;
	
public:
	inline TInt GetPivotX()
		{
		return cx * TILE_DEFAULT_WIDTH + TILE_DEFAULT_WIDTH / 2;
		}
	
	inline TInt GetPivotY()
		{
		return cy * TILE_DEFAULT_HEIGHT + TILE_DEFAULT_HEIGHT / 2;
		}
	
	};

#endif
